package com.chinawayltd.ews.sample.manager.openApi;

import com.alibaba.fastjson.JSONObject;
import com.chinawayltd.ews.sample.model.openApi.TaskPushDTO;

import java.io.IOException;

/**
 * @program: greeProject.timingTaskCenter
 * @description:
 * @author: xiazj
 * @create: 2018-05-02 15:31
 **/
public interface CustomOpenApiManager {

    /**
     * 订单任务调度算法执行
     * @param token
     * @param data
     * @throws Exception
     */
    void milkRunCall(String token, String data)throws Exception;

    /**
     * 查询订单任务调度算法执行进度
     * @param token
     * @return
     * @throws Exception
     */
    Float milkRunStatus(String token)throws Exception;

    /**
     * 获取订单任务调度算法执行结果
     * @param token
     * @return
     * @throws Exception
     */
    JSONObject milkRunFetch(String token) throws Exception;

    /**
     * 终止算法调度任务执行
     * @param token
     * @return
     * @throws Exception
     */
    void milkRunInterrupt(String token) throws Exception;

    /**
     * 司小宝推送接口
     *  @param [title 标题 ,sub_title 子标题,url 跳转地址,phones 推送用户,cover 封面url]
     * @return true false
     * @throws Exception
     */
    boolean appTaskPush(String ... param) throws Exception;
    
    /**
     * 司小宝推送接口
     * @author: chenxin
     * @date: 2018年5月31日 下午3:31:20
     * @param [title 标题 ,sub_title 子标题,url 跳转地址,phones 推送用户,cover 封面url]
     * @return
     * @throws IOException
     */
    TaskPushDTO greeAppTaskPush(String ... param) throws Exception;
    
    /**
     * 司小宝查询对应司机信息接口
     * @param url
     * @param param
     * @return
     */
    JSONObject appDriverInfo(String url ,String token) throws IOException;
}
